package uri.model.mypage;

import java.util.List;
import java.util.Map;

import uri.model.BoardVO;
import uri.model.DiaryVO;

public interface MyPageService {
	/**
	 * 작성자: 장해나 
	 * 작성일: 06/24
	 * 다이어리 전체 리스트를 보여주기 위한 메서드 (페이징처리는 service 계층에서)
	 */
	ListVO diaryList(DiaryVO dvo);
	
	/**
	 * 작성자: 장해나
	 * 작성일: 06/24
	 * 다이어리 글 등록 메서드
	 * 
	 * 수정일: 06/26
	 * 다이어리 글 등록시 파일 업로드 처리
	 */
	void writeDiary(DiaryVO dvo);
	
	/**
	 * 작성자: 장해나
	 * 작성일: 06/25
	 * 다이어리 글 삭제 메서드
	 * 
	 * 수정일: 06/27
	 * 등록된 파일을 서버에서 지우는 메서드 호출
	 */
	void deleteDiary(DiaryVO dvo);
	
	/**
	 * 작성자: 장해나
	 * 작성일: 06/26
	 * 다이어리 글 수정을 위해 내용을 전달해주는 메서드
	 */
	DiaryVO updateDiaryForm(DiaryVO dvo);
	
	/**
	 * 작성자: 장해나
	 * 작성일: 06/26
	 * 다이어리 글 수정 메서드
	 * 
	 * 수정일: 06/27
	 * 파일 수정 처리
	 * 새로운 파일을 업로드 할 수 있도록 처리
	 */
	void updateDiary(DiaryVO dvo);
	
	/**
	 * 작성자: 장해나
	 * 작성일: 06/25
	 * 날짜별로 등록된 다이어리 글을 검색하는 메서드
	 */
	ListVO searchDiaryByDate(DiaryVO dvo);

	/**
	 * 작성자: 장해나
	 * 작성일: 06/27
	 * 파일을 등록하지 않았을 때 다이어리 등록을 위한 메서드
	 */
	void writeDiaryNoFile(DiaryVO dvo);
	
	/**
	 * 작성자: 장해나
	 * 작성일: 06/27
	 * 파일을 등록하지 않았을 때 다이어리 수정을 위한 메서드
	 */
	void updateDiaryNoFile(DiaryVO dvo);
	
	/**
	 * 작성자: 장해나
	 * 작성일: 06/27
	 * 내용별로 등록된 다이어리 글을 검색하는 메서드
	 */
	ListVO searchDiaryByContent(DiaryVO dvo);

	/**
	 * 작성자: 장해나
	 * 작성일: 06/30
	 * 내가 쓴 글의 목록을 가져오는 메서드
	 * 공유게시판에 접근하여 리스트를 가져온다.
	 */
	List<BoardVO> myListPub(BoardVO bvo);
	
	/**
	 * 작성자: 장해나
	 * 작성일: 06/30
	 * 내가 쓴 글의 목록을 가져오는 메서드
	 * 다이어리 게시판에 접근하여 리스트를 가져온다.
	 */
	List<DiaryVO> myListDiary(DiaryVO dvo);
	/**
	 * 작성자: 장해나
	 * 작성일: 07/04
	 * 내가 쓴 글의 목록을 가져오는 메서드
	 * 자기소개서 게시판에 접근하여 리스트를 가져온다.
	 */
	List<BoardVO> myListCorr(BoardVO bvo);

	/*List<DiaryVO> searchDiaryByWord(String word);

	List<BoardVO> searchPublicByWord(String word);

	List<BoardVO> searchCorrectionByWord(String word);*/
	
	Map searchTotal(String word);

}